package data;

import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;

import domain.PaisRepository;
import util.PaisDTO;
import util.PaisAssembler;
import domain.Pais;

public class PaisRepositoryDAOImpl implements PaisRepository {
 
 private PaisDAO profDAO;
 
 PaisRepositoryDAOImpl(PaisDAO profDAO) {
   this.profDAO = profDAO;
 }
 
 public boolean insertPais(Pais prof) {
	PaisDTO profDTO = PaisAssembler.CreateDTO(prof);
	return (profDAO.insert(profDTO));
 }
 
 public boolean deletePais(Pais prof) {
   PaisDTO profDTO = PaisAssembler.CreateDTO(prof);
   return (profDAO.delete(profDTO));
 }
 
 public Pais findPais(int id) {
   PaisDTO profDTO = profDAO.findById(id);
   if (profDTO!=null) {
     Pais prof = new Pais();
     System.out.println(profDTO.getNombre());
     PaisAssembler.Update(prof,profDTO);
     return prof;
   }
   return null;
 }
 
 public boolean updatePais(Pais prof) {
   PaisDTO profDTO = PaisAssembler.CreateDTO(prof);
   return (profDAO.update(profDTO));
 }
 
 public Collection findAllPais() {
   Collection profsDTO = profDAO.findAll();
   List profList = new ArrayList();
   Iterator itr = profsDTO.iterator();
   while (itr.hasNext()) {
     Pais prof = new Pais();
     PaisDTO profDTO = (PaisDTO)itr.next();
     PaisAssembler.Update(prof,profDTO);
     profList.add(prof);
   }
   return profList;
 }
}